Joint Manifest Schema
Every joint in the CORA library is defined by a manifest.json.
This file is the contract between the configurator, the export pipeline,
and the physical build instructions.
Top-level fields
| Field | Type | |
|---|---|---|
id | string | required Unique joint type identifier. Used as the folder name. |
display_name | string | required Human-readable label in the configurator. |
type | enum | required revolute | prismatic | fixed |
axis | [x, y, z] | required Joint axis vector. REP-103: metres. |
limits | object | required Position, velocity, and effort limits. |
params | object | optional Joint-type-specific parameters. |
connectors | object | optional Electrical connector layout. |
mesh | object | required Paths to visual and collision meshes. |
Example manifest
{
"id": "revolute_80mm",
"display_name": "Revolute 80 mm",
"type": "revolute",
"axis": [0, 0, 1],
"limits": {
"lower": -3.14159,
"upper": 3.14159,
"velocity": 1.5,
"effort": 10.0
},
"params": {
"gear_ratio": 50,
"motor_model": "T-Motor AK10-9",
"housing_diameter_mm": 80
},
"connectors": {
"power_in": "XT60_panel",
"power_out": "XT60_panel",
"can_in": "M12_A5_bulkhead",
"can_out": "M12_A5_bulkhead"
},
"mesh": {
"visual": "mesh.dae",
"collision": "mesh_collision.stl"
}
}